草庐IT

c++ - 惰性评估

全部标签

javascript - IIFE 中的变量提升(惰性解析)

在以下情况下我得到了一个非常奇怪的输出:functiontest(){vartest=123;console.log(test)}//thisoutput:123(functiontest(){vartest=123;console.log(test)})()//thisoutput:123但是当使用下面的代码时(functiontest(){test=123;console.log(test)})()//output:functiontest(){test=123;console.log(test)}谁能解释一下。 最佳答案 您看

javascript - 惰性求值在 Lodash 中不起作用

Lodash文档说它supportslazyevaluation.根据我的测试,下面的链被评估了100次而不是10次。我使用的是3.10.1版。_(_.range(100)).map(function(x){console.log(1);returnx;}).take(10).value()您可以看到我们在map中向控制台打印了100次,而不是我预期的10次。在此处查看问题:https://jsfiddle.net/07utwk6y/我做错了什么?我怎样才能懒惰地进行这个评估?更新:这似乎是Lodash中的回归。我测试了它如何跨版本工作并得到以下结果:版本2.4.2:100次https

javascript - 为什么 JavaScript 的后自增运算符与 C 和 Perl 不同?

我目前正在准备JavaScript考试。我对C和Perl也有一点了解,所以我熟悉这三种语言的前缀和后缀运算符。我为它做了一个在线练习考试,我犯的一个错误是在评估以下代码时:varx=10;x+=x--;现在,我认为它会计算为19,因为它是10+10,然后减去1得到9。但我得到的反馈是它是错误的,它实际上计算为20。我认为这听起来有点可疑,所以我在HTML文档中对其进行了测试,结果又是20。然后我尝试了C和Perl中的等价物,并且都评估为19。谁能向我解释为什么JavaScript将答案计算为20而其他语言将其计算为19?我从测试中得到的答案对我来说不是太清楚:Theincrement+

javascript - && 评估问题

据我所知,逻辑&&的工作方式如下vartest=false;varfoo=test&&42;此代码将42分配给foo只有如果第一个条件被评估为true。所以在这个例子中,foo将保持它的当前值。我想知道为什么这段代码根本不起作用:vartest="";varfoo=test&&42;现在,foo从test中获取值。我很困惑。空字符串是Javascripts虚假值之一,那么为什么&&运算符会在这种情况下失败?有人可以帮我解决这个问题吗? 最佳答案 你误解了接线员的意思。foo=x&&y将总是分配foo。&&运算符对其最左侧的“假”操作

JavaScript 逗号和变量评估

“JavaScript:权威指南,第6版”一书第4.13.5节指出-"i=0,j=1,k=2;evaluatesto2"但是当我这样显示值时-varx=i=0,j=1,k=2;alert(x);或alert(i=0,j=1,k=2);显示值0。我试验过,无论i的值设置成什么,都会显示出来。书上好像写错了。任何人都可以通过说语句evaluatesto2来解释这本书的意思吗?有错吗?谢谢! 最佳答案 在alert(i=0,j=1,k=2);中,逗号分隔函数参数。在一般表达式中,它的工作原理就像书上说的:alert((i=0,j=1,k=

javascript - 通过 Web API 或 libspotify 获取 Spotify 播放历史

有没有办法使用他们的js或CAPI获取我的Spotify播放历史记录?我看到了几个例子,但那是使用他们过时的API版本。 最佳答案 无法通过任何API获得Spotify播放历史记录。免责声明:我是Spotify的员工。 关于javascript-通过WebAPI或libspotify获取Spotify播放历史,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/18838743/

javascript - 一个 "safe place"来评估 Javascript 中的受信任代码(具有特定上下文)? [编辑: how can you break it?]

不要在标题上评判我,我知道eval是邪恶的,但我这样做是有原因的,而且会非常有限。事情是这样的:我想创建一个安全的空间,我可以在其中运行特定的(和受信任的)代码,并检索结果(如果它符合我的期望)。出于安全原因,我想将它从所有其他范围中删除(这个空间被要求提供结果,并且应该不能单独将任何内容导出到周围的范围)。我找到了一个似乎可行的解决方案,它也可以为执行添加上下文,但我不确定它是否有效,或者该系统中是否存在安全漏洞。你能告诉我它是否有问题吗?它实际上创建了与全局变量同名的本地变量,以防止访问它们。它还剥离了功能(我将添加功能以保留我想要保留的功能)。该函数声明为最接近全局变量,以避免更

javascript - 在 AngularJS 中评估指令属性中的表达式

我做了很多解决方法、搜索和研究,但我不知道如何实现我的目标。-问题:我有以下情况,我想避免用户可以契约(Contract)中的佣金日期重叠。当用户添加新的佣金,我们显示一个列表,其中添加了生成的佣金angRepeat,这个有难度,用户可以编辑日期。在契约(Contract)部分,这不是问题,因为对于edita契约(Contract),你必须去其他屏幕编辑它,日期不能在同一View中进行修改。-我感到困惑的地方:当我编辑一个添加的佣金时,我必须将它与之前添加的另一个进行比较,所以,我想要一个列表,其中定义了所有佣金的日期,并且可以在指令中说,开发一个函数,该函数返回一个列表,其中包含所有

javascript - 三.JS | PerObject-Blur,我可以使用哪些技术来优化 GLSL/C 代码?

更新2我已经使用THREE.js实现了自定义属性,影响来自顶点着色器中与位置属性对齐的每次传递,这是代码最少的最佳解决方案。Iwilladdtheexamplelater更新1此方法将alpha设置为受边界框内速度范围影响的顶点。我需要提示来处理GLSL代码重复pervertex,这对我来说有点奇怪?我应该使用函数吗?怎么办?https://jsfiddle.net/LeroyRon/uep9t1v1/#&togetherjs=MjBnNMFQFl反正我有这个://for.xif(position.x>0.0){if(velocityPosition.x+(velocities.x*s

javascript - (React-Native) undefined 不是评估 'new FormData()' 的构造函数

在过去的两天里,我一直在努力解决这个问题,但无法弄清楚。我不明白这个错误。这是我的代码:try{varformData=newFormData();}catch(error){console.error('FormDataERROR',error);}这是错误:017-06-2113:49:02.761[error][tid:com.facebook.React.JavaScript]'FormDataERROR',{[TypeError:undefinedisnotaconstructor(evaluating'newFormData()')]line:98419,column:36